Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling
Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling
- Publicatiedatum:
- 03-10-2025
- Inwerkingtreding:
- 03-10-2025
20.4 Wat zijn de reserves?
Concepten
Relaties
Eigenschappen
SPARQL query
Code gekopieerd
...Kopieer naar klembord
1# Indicator: Zorgkantoren 20.4.0 2# Parameters: ?peildatum 3# Ontologie: versie 3.0.0 of nieuwer 4 5PREFIX onz-fin: <http://purl.org/ozo/onz-fin#> 6prefix onz-zorg: <http://purl.org/ozo/onz-zorg#> 7PREFIX onz-g: <http://purl.org/ozo/onz-g#> 8PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 9 10SELECT ?Kental ?Waarde 11WHERE { 12 { 13 SELECT (SUM(IF(?jaarrekeningpost = "D Reserves", ?bedrag, 0)) AS ?reserves) 14 WHERE { 15 { 16 SELECT ?jaarrekeningpost (SUM(?bedrag_rubriek) AS ?bedrag) 17 WHERE { 18 # BIND("2024-12-31"^^xsd:date AS ?peildatum) 19 BIND(?peildatum AS ?peildatum_argument) 20 { 21 SELECT # totaal per rubriek 22 (SUM(?geld_bedrag) + SUM(?saldo_waarde)/count(?saldo_waarde) AS ?bedrag_rubriek) ?rubriek ?categorie 23 WHERE { 24 { 25 SELECT # bereken het meest recente saldo per rubriek, 0 indien geen saldo 26 ?rubriek ?categorie 27 (IF(BOUND(?saldo_bedrag), ?saldo_bedrag, 0) AS ?saldo_waarde) 28 ?peildatum_argument 29 (IF(BOUND(?saldo_datum), ?saldo_datum, ?unbound) AS ?begin_datum) 30 ?saldo_datum ?saldo 31 WHERE { 32 # BIND("2024-12-31"^^xsd:date AS ?peildatum) 33 BIND(?peildatum as ?peildatum_argument) 34 # Dynamically identify rubrieken and assign categories 35 { 36 SELECT DISTINCT ?rubriek WHERE { 37 ?rubriek a onz-fin:Grootboekrubriek . 38 FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:))) 39 FILTER(REGEX(STRAFTER(STR(?rubriek), STR(onz-fin:)), "^[0-9]{6}$")) 40 } 41 } 42 BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode) 43 44 # Assign category based on the ?rubriekCode pattern 45 BIND( 46 COALESCE( 47 48 # Rubriek D 49 IF(STRSTARTS(?rubriekCode, "05413"), "D.IV", ?unbound), 50 IF(STRSTARTS(?rubriekCode, "05311") || STRSTARTS(?rubriekCode, "05342") || STRSTARTS(?rubriekCode, "05423"), "D.V", ?unbound), 51 IF(STRSTARTS(?rubriekCode, "05323"), "D.VI", ?unbound), 52 IF(STRSTARTS(?rubriekCode, "0539") || STRSTARTS(?rubriekCode, "05493") || STRSTARTS(?rubriekCode, "05915"), "D.VII", ?unbound), 53 IF(STRSTARTS(?rubriekCode, "091"), "D.VIII", ?unbound), 54 "other" 55 ) AS ?categorie 56 ) 57 FILTER(BOUND(?categorie)) 58 59 OPTIONAL { 60 ?rubriek onz-g:isAbout ?saldo . 61 ?saldo 62 a onz-fin:EindSaldo ; 63 onz-fin:heeftGeldBedrag ?saldo_bedrag ; 64 onz-g:hasDate ?saldo_datum . 65 FILTER (?saldo_datum <= ?peildatum_argument) 66 } 67 FILTER NOT EXISTS { 68 ?rubriek onz-g:isAbout ?saldo2 . 69 ?saldo2 70 onz-g:hasDate ?saldo_datum2 ; 71 a onz-fin:EindSaldo ;. 72 FILTER(?saldo2 != ?saldo) 73 FILTER (?saldo_datum2 <= ?peildatum_argument && ?saldo_datum2 > ?saldo_datum) 74 } 75 } 76 } 77 OPTIONAL { 78 ?grootboek_post 79 a onz-fin:Grootboekpost ; 80 onz-g:partOf ?rubriek ; 81 onz-g:hasDate ?datum ; 82 onz-fin:heeftGeldBedrag ?geld_bedrag_temp . 83 FILTER (?datum <= ?peildatum_argument && (?datum > ?begin_datum || !BOUND(?begin_datum))) 84 } 85 BIND(IF(BOUND(?geld_bedrag_temp), ?geld_bedrag_temp, 0) AS ?geld_bedrag) 86 87 } GROUP BY ?rubriek ?categorie 88 } 89 90 VALUES (?categorie ?jaarrekeningpost){ 91 ("D.IV" "D Reserves") 92 ("D.V" "D Reserves") 93 ("D.VI" "D Reserves") 94 ("D.VII" "D Reserves") 95 ("D.VIII" "D Reserves") 96 } 97 } GROUP BY ?jaarrekeningpost 98 } 99 } 100 } 101 102 BIND("Reserves" AS ?Kental) 103 BIND(?reserves AS ?Waarde) 104} 105ORDER BY ?Kental